Spread spectrum communications involve spreading the signal energy to be transmitted over a relatively wide bandwidth at the transmitter and correspondingly despreading the received signal at the receiver. The spreading and despreading operations involve the use of a pseudorandom code sequence generally designated as the spreading code. Advantages of spread spectrum communications include the possibility of accommodating a large number of simultaneous transmissions onto a shared frequency band using mutually orthogonal spreading codes, as well as the inherent capability of suppressing narrowband interference during reception and despreading. Well-known examples of spread spectrum communications include the application of DS-CDMA (Direct Sequence Code Division Multiple Access) to terrestrial cellular radio networks, as well as the use of CDMA techniques in satellite-based positioning systems such as GPS (Global Positioning System) and navigation systems, several of which are planned under the general definition GNSS (Global Navigation Satellite System).
In order to be able to correctly despread a received spread spectrum signal a receiver must know the exact timing of the spreading code in the received signal. The process of establishing correct timing at the receiver is conventionally divided into two consecutive stages, which are code acquisition and code tracking. Of these, acquisition refers to coarse synchronization of the received sequence with a locally generated despreading sequence, usually to within some fraction of a chip period in the code sequence. After successful acquisition a code tracking loop is employed to achieve and maintain fine alignment of the two sequences so that a maximum amount of signal energy can be retrieved at the receiver.
A key component of the despreading operation is a matched filter, the purpose of which is to maximize the signal to noise ratio at a sampling point of a bit stream and to minimize the probability of undetected errors in the received signal. Mathematically it can be shown that the transfer function h(t) of an optimal matched filter is a time-reversed and delayed version of the original transmitted signal g(t). The matched filter gets as input information the known form of the pseudorandom sequence that constitutes the spreading code, so it only needs to find the correct amount of delay that leads to a maximum of retrieved signal energy. Correlating a sample sequence representing the received signal with the known form of the spreading code produces a correlation result, maximum values of which give an indication about the correct code synchronization timing.
The number of available orthogonal spreading codes may become a limiting factor to the capacity of a CDMA system. According to a traditional approach the length of the code sequence has been kept constant, which sets a constraint to the selection of spreading codes. Recently it has been suggested that co-channel interference could be reduced by introducing multiple code lengths. Similar suggestions have risen also based on a different motivating factor, namely providing a variable data rate in a connection by adapting the spreading code length according to channel conditions. A prior art publication considering the last-mentioned viewpoint is H. Lervik: “One Approach to Increase Capacity in DS-CDMA”, published in 2001 by the Norwegian University of Science and Technology and available at the time of writing this description at http://www.norsig.no/norsig2001/Papers/52. One_approach—2092001153625.pdf (NORSK 2001 NORSK Symposium I SIGNALBEHANDLING, 18-20 Oct. 2001, Trondheim, Norway).
Another reason for using different code lengths for transmissions on different channels is the aim at making the cross-correlation pattern non-stationary from one code cycle to another, so that an averaging process over several code cycles can help suppressing co-channel interferences. The differences do not need to be very large to achieve this purpose; a difference of one chip or a few chips, or even a fraction of a chip, will work well.
Introducing variable code length may cause problems in designing the code acquisition hardware. At the time of writing this description a typical GPS receiver comprises at least one and a maximum of four code acquisition hardware blocks. The design of the known code acquisition hardware is intimately tied to the exact length of the code. Even if the number of active GPS satellites and their unique spreading codes is as large as 28, this is not a problem because said unique spreading codes are all equal in length and consequently any of the available code acquisition hardware blocks can be allocated to perform acquisition on the signal of any satellite. However, for example the oncoming advent of Galileo, which is a European-based GNSS system, is predicted to more than double the number of satellites and simultaneously introduce variable code length. A spread spectrum receiver built according to the conventional practice might therefore need dozens of separate code acquisition hardware blocks. This is costly in terms of both required silicon area in microcircuits and complicatedness in design, manufacture and programming. Additionally it increases the vulnerability of the receiver to hardware malfunctioning, and is likely to increase the need of operating power.